Method and apparatus for providing over the top streaming

ABSTRACT

Various implementations described herein are directed to technologies for providing over the top streaming for one or more clients of a network. A network is formed among the network among customer premises equipment. The customer premises equipment may include at least a gateway and the one or more clients. A user selection for over the top (OTT) content is received. The OTT content is received and includes one or more cue points. The gateway is marked as a proxy server in response to receiving the one or more cue points. Proxy data is received from the gateway corresponding to the one or more cue points.

BACKGROUND

This section is intended to provide background information to facilitatea better understanding of various technologies described herein. As thesection's title implies, this is a discussion of related art. That suchart is related in no way implies that it is prior art. The related artmay or may not be prior art. It should therefore be understood that thestatements in this section are to be read in this light, and not asadmissions of prior art.

There are instances when an Internet Protocol (IP) client is an olderdevice and/or runs an older software version. In these instances, the IPclient may have less capability, may not be able to decode certainformats and/or may not be able to support newer methods of data packing.In addition, these older devices may not include a central processingunit (CPU) or resources capable of processing a stream delivered to theIP client through an over the top (OTT) server. The aforementionedresource constraints may be momentary or may persist for long periods oftime. There are instances where the OTT server may push certain data toa client at certain times. The data may need certain conditioning aswell as translation in cases where an IP client is MSO agnostic or isnot capable of processing the data. The present disclosure addresses theabove limitations.

SUMMARY

Described herein are implementations of various technologies of a methodof providing over the top streaming for one or more clients of anetwork. A network is formed among the network among customer premisesequipment. The customer premises equipment may include at least agateway and the one or more clients. A user selection for over the top(OTT) content is received. The OTT content is received and includes oneor more cue points. The gateway is marked as a proxy server in responseto receiving the one or more cue points. Proxy data is received from thegateway corresponding to the one or more cue points.

When the one or more cue points include index data, the index data maybe appended to a proxy server uniform resource locator as a variable. Inone implementation, the index can provide an indication to include aproxy server script. In another implementation, the index can provide anindication to use a different proxy port.

The one or more cue points can be inserted in the OTT content asmetadata. The metadata can be delivered as out of band data and/orInternet Protocol data.

The one or more cue points may be inserted as a different PID. In oneimplementation the different PID includes a trigger. In anotherimplementation, the different PID includes index data.

The one or more cue points may be inserted at one or more predeterminedtimes. The one or more predetermined times may include commercialbreaks, promotional opportunities, when a credit goes above or below athreshold and/or a subscription transition time.

In one implementation, the proxy data may include pre-installed content.In another implementation, the proxy data may include translatedcontent. In yet another implementation, the proxy data may include analert.

Also described herein are implementations of various technologies of adevice for providing over the top streaming. The device includes a settop box. The set top box may be configured to: form a network amongcustomer premises equipment, the customer premises equipment includingat least a gateway and the set top box; receive a user selection for OTTcontent; receive OTT content, the OTT content including one or more cuepoints; mark the gateway as a proxy server in response to receiving theone or more cue points; and receive proxy data from the gatewaycorresponding to the one or more cue points.

Further described herein are implementations of various technologies ofa non-transitory computer-readable medium having stored thereon aplurality of computer-executable instructions which, when executed by acomputer, cause the computer to: form a network among customer premisesequipment, the customer premises equipment including at least a gatewayand one or more clients; receive a user selection for OTT content;receive OTT content, the OTT content including one or more cue points;mark the gateway as a proxy server in response to receiving the one ormore cue points; and receive proxy data from the gateway correspondingto the one or more cue points.

The above referenced summary section is provided to introduce aselection of concepts in a simplified form that are further describedbelow in the detailed description section. The summary is not intendedto identify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter. Furthermore, the claimed subject matter is not limitedto implementations that solve any or all disadvantages noted in any partof this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

Implementations of various techniques will hereafter be described withreference to the accompanying drawings. It should be understood,however, that the accompanying drawings illustrate only the variousimplementations described herein and are not meant to limit the scope ofvarious techniques described herein.

FIG. 1 illustrates an example network environment in accordance withimplementations of various techniques described herein.

FIG. 2 illustrates an example home network in accordance withimplementations of various techniques described herein.

FIG. 3 illustrates a flow diagram of a method of providing over the topstreaming for one or more clients of a network in accordance withimplementations of various techniques described herein.

FIG. 4 illustrates a flow diagram of a method of providing over the topstreaming at a gateway of a network in accordance with implementationsof various techniques described herein.

FIG. 5 illustrates a schematic diagram of a computing system in whichthe various technologies described herein may be incorporated andpracticed.

DETAILED DESCRIPTION

One or more implementations of various techniques for providing over thetop streaming will now be described in more detail with reference toFIGS. 1-5 in the following paragraphs.

FIG. 1 is a block diagram illustrating an example network environment100 for providing over the top streaming for at least one client of ahome network. In some implementations, video, voice, and/or dataservices may be delivered to one or more client devices via one or morecustomer premise equipment (CPE) devices installed within a subscriberpremise. The CPE devices may include, for example, a home network 112that includes a gateway 102 and one or more set-top boxes or mobiledevices 105, 107. The CPE devices may include mobile devices or smartphones with display which are provisioned by the MSO for the user. Forexample, multiple services may be provided by a set-top box (STB) 105,107 and may be received by a user through a display device (e.g.,television 110). It should be understood that a user may receivemultiple services through other display devices such as a mobile device,tablet, computer, gaming console, and others. The various data,multimedia, and/or voice services provided by the STB 105, 107 mayinclude, but is not limited to, live or broadcast television,video-on-demand (VoD) content, pay-per view content, recorded content(e.g., DVR content), audio-only content, streaming content, and others.A set-top box (STB) may receive content from multiple different networksand/or service providers and store this content in a memory. In oneimplementation, STB 105, 107 may act as a digital media server in aDLNA-based network. In one implementation, STB 105, 107 can be a digitalvideo recorder (DVR) or any other multimedia device capable of providingDVR-like functionality.

Multiple services may be delivered to CPE devices over one or more localnetworks. For example, a local network may be provided by a gatewaydevice, e.g. gateway 102, and the multiple services may be delivered toone or more CPE devices by the gateway device. Local network(s) mayinclude a coaxial network, a hypertext transfer protocol (HTTP) network,a local area network (LAN), wireless local area network (WLAN), personalarea network (PAN), Multimedia over Coax Alliance (MoCA) network, mobilehotspot network, and others. It should be understood that the STB 105,107 may receive services from and may output upstream communications toan access point (e.g., gateway device, modem, router, wireless extender,etc.) over a wired or wireless connection to the access point.

Multiple services may be delivered to a subscriber premise from awide-area network (WAN) 115 through a subscriber network 120. Thesubscriber network 120 may include, for example, a hybrid fiber-coaxial(HFC) network, fiber network, mobile network, satellite network, and anyother network operable to deliver services to a subscriber premise.

Multimedia content may be received at the STB 105, 107 as a contentstream. For example, the content may be delivered to the STB 105, 107 asa stream of packets or frames, and the packets or frames may be decodedand processed for presentation to a user through a connected displaydevice (e.g., television 110).

The STB 105, 107 may be configured to receive content from a pluralityof content or service providers. For example, the STB 105, 107 mayreceive content from a plurality of different subscriber networks 120(e.g., a head end of a cable network, satellite network, etc.) and/orWANs 115. Content streams received from different service providers maybe received at the STB 105, 107 in different formats.

FIG. 2 is a block diagram illustrating a home network 200 in accordancewith various implementations described herein. The home network 200,e.g., a MoCA and/or HTTP network, may include a gateway 102 and at leastone IP client 105, 107. In this example, the gateway 102 and the atleast one IP client 105, 107 are operable to provide OTT streaming inaccordance with various implementations described herein. Gateway 102may receive content from an outside network, e.g., subscriber network120, and proxy the content to IP clients having resource and/orcapability constraints. In one implementation, a server (not shown),e.g., a multiple system operator (MSO) server, of the subscriber network120 may send content offline to the gateway 102. In one implementation,the at least one IP client 105, 107 may receive data from gateway 102operating as a proxy within the home. In another implementation, the IPclient 105, 107 may receive data from an OTT server directly.

The gateway 102 and/or IP client 105, 107 may receive OTT or IP datafrom an in-home DLNA server or an OTT server. In one implementation,data to the IP client 105, 107 may be delivered as plain HTTP data. TheOTT server may be a MSO server or a general server.

The gateway 102 may be configured, e.g., by a MSO server of thesubscriber network 120 to include business related content insertion andconditioning data. For example, a different advertisement may beincluded within a targeted advertisement window or a purchase banner,e.g., for pay per view (PPV) provided to the display device 110. Anotherexample of business related content insertion and conditioning data mayinclude providing different encoding and/or decoding data. The abovedata is intended for the IP client, and the gateway decodes/encodes thedata as per the IP client capability.

The gateway 102 may also be configured to alleviate capability and/orresource issues in a dynamic manner, without requiring any changes inthe processing method for the data. For example, the gateway can buffercertain data for the IP client, decode an unsupported format, provideimages, etc.

Advertisement or business logic, e.g., a purchase banner, may be appliedto content at certain times. In one implementation, the GW is configuredto stitch or insert items into the content at certain intervals.

In one implementation, when a user selects and plays OTT content, e.g.,from a MSO OTT server of subscriber network 120, a portal of the MSO OTTserver marks certain content portions to be “proxied” by the in-homegateway 102. The MSO OTT server may push some content (such as atargeted advertisement (TAD), a PPV banner, etc.) to gateway 102 apriori, e.g., after or before the IP client 105, 107 selects OTT contentto play. The MSO OTT content server inserts proxy cue points. Proxy cuepoints are markers to the proxied content portions. These proxy cuepoints maybe inserted either as metadata or as a different packetidentifier (PID). When the IP client 105, 107 encounters these proxy cuepoints, the IP client 105, 107 marks the gateway 102 IP address as aproxy server IP address. The presence of the cues are interpreted by theIP client as a command to use the gateway as proxy. The cues may alsocontain other index variables, which can be used by the IP client whileforming the proxy URL. The gateway proxy server can act as proxy forcontent URL requests by the client. Non-content URL requests are notproxied by the gateway proxy server. Once the gateway 102 is marked as aproxy server, HTTP requests pass through the gateway. The gateway 102can respond with pre-installed content or translated content. Thegateway 102 can also provide PPV alerts or other messages as perbusiness need. When the proxy cue point is removed, the IP client 105,107 removes the proxy rerouting to the gateway 102. The MSO OTT contentserver determines if the cue is valid or not for a client with respectto the content. When or if a cue is not relevant, then the cues areremoved from the content. As the IP client is uniquely identifiable bythe MSO OTT server, the server can individually manage the cues for anIP client.

The following describes an implementation of proxy cue points in networkenvironment 100. A home network 112, 200 is formed between/among CPEdevices 102, 105, 107. A user selects OTT content to play on an IPclient 105, 107. An MSO OTT server of subscriber network 120 pushes somecontent, e.g., a TAD, a PPV banner, etc., to gateway 102 a priori. Thecontent may be pushed to gateway 102 after or before the IP client 105,107 selects OTT content to play.

The MSO OTT server inserts proxy cue points into the OTT content eitheras metadata or a different PID at certain predetermined times. Thepredetermined times may occur during commercial breaks, during apromotional opportunity, when a credit of a user goes above or below athreshold, and/or during a subscription transition time.

In one implementation, when the proxy cue point is inserted as metadatathe proxy cue point is delivered as part of out of band data or IP data.

In another implementation, when the proxy cue point is part of differentPID, i.e., within an inband transport stream, a dedicated PID may beused for the proxy cue point. The PID may include Null data (e.g., atrigger) or some other data such as an index to the data received andstored by the gateway 102 from the MSO OTT server. The cue point remainspresent in the stream as long as the MSO server indicates that the cueopportunity is active.

When the IP client 105, 107 encounters the proxy cue points, the IPclient marks the gateway 102 IP address as the proxy server IP address.Once the gateway 102 is marked as the proxy server, HTTP requests passthrough the gateway 102. Once the gateway is marked as a proxy server,in one implementation all of the HTTP requests pass through the proxyserver. In another implementation, the IP client only marks the gatewayas proxy for OTT content requests.

In one implementation, if the cue point information has any index data,the index data can be appended to a proxy server uniform resourcelocator (URL) as a variable by the IP client 105, 107. In oneimplementation, the index may provide an indication to the IP client105, 107 to include a proxy server script in the URL with the appendedindex data. In another implementation the index may provide anindication to the IP client 105, 107 to use a different proxy port.

When the gateway 102 receives the HTTP request, the gateway 102 canrespond by sending pre-installed content or translated content to the IPclient 105, 107. The gateway 102 can also provide PPV alerts or othermessages to the IP client 105, 107 in response to the HTTP request asper business need. In one implementation, the gateway proxy serverresponds with pre-installed or translated content only for HTTP requestsfor OTT content URL.

In one implementation, the preinstalled content may include MSO specificcustomized content where translation and/or customization can includemerging video and other content, blending videos, and/or adding certaintemplates such as header and footer information. Translation may alsoinclude, interpreting a customer's current subscription status andproviding an alert. For example, if a customer has a credit of $100, analert may be provided to the customer that provides suggested content,e.g., an event that can be purchased for $50.

In another implementation, as stated above, when the proxy server URLincludes index data, the IP client 105, 107 can use this index data toeither include a proxy server script in the proxy server URL withappended index data, e.g., variable, or use a different proxy port. Thescripts can be different for different clients within a home. Thegateway proxy can customize the content differently for differentclients. The scripts can take different variables, which instruct thegateway server proxy to apply or provide different translation orcontent. Different ports and/or scripts can be used for the abovepurposes.

When the “proxy” cue point is removed, the IP client will remove theproxy, i.e., stop rerouting HTTP requests to the gateway 102. The MSOOTT content server determines if the cue is valid or not for a clientwith respect to the content. When or if a cue is not relevant, the cuesare removed from the content.

FIG. 3 illustrates a diagram of a method 300 for providing OTT streamingfor one or more clients of a network in accordance with implementationsof various techniques described herein. At block 305, the network isformed between/among customer premises equipment. The customer premisesequipment includes at least a gateway and the one or more clients. Atblock 310, a user selection for OTT content is received by the one ormore clients.

At block 315, the OTT content is received by the one or more clients.The OTT content may include one or more cue points. The cue points maybe included in OTT content received by the one or more clients 105, 107from a MSO OTT server of subscriber network 120.

At block 320, the gateway is marked as a proxy server in response toreceiving the one or more cue points. Once the gateway is marked as aproxy server, HTTP requests, e.g., from IP client 105, 107, pass throughthe gateway 102.

At block 325, proxy data from the gateway corresponding to the one ormore cue points is received. The proxy data from the gateway 102 mayinclude pre-installed content, translated content, PPV alerts and/orother messages as per business need.

The one or more cue points may include index data. When the one or morecue points include index data, the index data can be appended to a proxyserver uniform resource locator as a variable. In one implementation,the index provides an indication to include a proxy server script. Inanother implementation, the index provides an indication to use adifferent proxy port.

The one or more cue points may be inserted in the OTT content asmetadata. The metadata may be delivered as out of band data or IP data.

The one or more cue points may be inserted in the OTT content as adifferent PID. The different PID may include a trigger or index data.

The one or more cue points may be inserted into the OTT content at oneor more predetermined times. The one or more predetermined times mayinclude commercial breaks, promotional opportunities, when a credit goesabove or below a threshold and/or a subscription transition time.

FIG. 4 illustrates a diagram of a method 400 for providing over the topstreaming at a gateway of a network. At block 405, the network is formedamong customer premises equipment. The customer premises equipment mayinclude at least the gateway, e.g., gateway 102, and one or moreclients, e.g., IP client devices 105, 107.

At block 410, pushed content is received at the gateway from a contentserver. In one implementation, the content server may be a MSO OTTserver. The pushed content may be received at the gateway before orafter an OTT content selection is received by a client.

At block 415, an indication that a client of the one or more clients hasmarked the gateway as a proxy server is received. At block 420, thepushed content is provided to the client. The pushed content, e.g.,proxy data, may include pre-installed content, translated content and/oran alert.

FIG. 5 is a block diagram of a hardware configuration 500 operable toprovide OTT streaming in a gateway or client device. The hardwareconfiguration 500 can include a processor 510, a memory 520, a storagedevice 530, and an input/output device 540. Each of the components 510,520, 530, and 540 can, for example, be interconnected using a system bus550. The processor 510 can be capable of processing instructions forexecution within the hardware configuration 500. In one implementation,the processor 510 can be a single-threaded processor. In anotherimplementation, the processor 510 can be a multi-threaded processor. Theprocessor 510 can be capable of processing instructions stored in thememory 520 or on the storage device 530.

The memory 520 can store information within the hardware configuration500. In one implementation, the memory 520 can be a computer-readablemedium. In one implementation, the memory 520 can be a volatile memoryunit. In another implementation, the memory 520 can be a non-volatilememory unit.

In some implementations, the storage device 530 can be capable ofproviding mass storage for the hardware configuration 500. In oneimplementation, the storage device 530 can be a computer-readablemedium. In various different implementations, the storage device 530can, for example, include a hard disk device/drive, an optical diskdevice, flash memory or some other large capacity storage device. Inother implementations, the storage device 530 can be a device externalto the hardware configuration 500.

The input/output device 540 provides input/output operations for thehardware configuration 500. In one implementation, the input/outputdevice 540 can include one or more of a network interface device (e.g.,an Ethernet card), a serial communication device (e.g., an RS-232 port),one or more universal serial bus (USB) interfaces (e.g., a USB 2.0port), one or more wireless interface devices (e.g., an 802.11 card),and/or one or more interfaces for outputting video, voice, and/or dataservices to a display device (e.g., television 110 of FIG. 1, mobiledevice, tablet, computer, etc.). In embodiments, the input/output devicecan include driver devices configured to send communications to, andreceive communications from one or more networks (e.g., local network,subscriber network 120 of FIG. 1, WAN 115 of FIG. 1, etc.).

The subject matter of this disclosure, and components thereof, can berealized by instructions that upon execution cause one or moreprocessing devices to carry out the processes and functions describedabove. Such instructions can, for example, comprise interpretedinstructions, such as script instructions, e.g., JavaScript orECMAScript instructions, or executable code, or other instructionsstored in a computer readable medium.

Implementations of the subject matter and the functional operationsdescribed in this specification can be provided in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe subject matter described in this specification can be implemented asone or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a tangible program carrier forexecution by, or to control the operation of, data processing apparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, or declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A computer program does notnecessarily correspond to a file in a file system. A program can bestored in a portion of a file that holds other programs or data (e.g.,one or more scripts stored in a markup language document), in a singlefile dedicated to the program in question, or in multiple coordinatedfiles (e.g., files that store one or more modules, sub programs, orportions of code). A computer program can be deployed to be executed onone computer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

The processes and logic flows described in this specification areperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output thereby tying the process to a particular machine(e.g., a machine programmed to perform the processes described herein).The processes and logic flows can also be performed by, and apparatuscan also be implemented as, special purpose logic circuitry, e.g., anFPGA (field programmable gate array) or an ASIC (application specificintegrated circuit).

Computer readable media suitable for storing computer programinstructions and data include all forms of non-volatile memory, mediaand memory devices, including by way of example semiconductor memorydevices (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks(e.g., internal hard disks or removable disks); magneto optical disks;and CD ROM and DVD ROM disks. The processor and the memory can besupplemented by, or incorporated in, special purpose logic circuitry.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinvention or of what may be claimed, but rather as descriptions offeatures that may be specific to particular embodiments of particularinventions. Certain features that are described in this specification inthe context of separate embodiments can also be implemented incombination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a sub combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Particular embodiments of the subject matter described in thisspecification have been described. Other embodiments are within thescope of the following claims. For example, the actions recited in theclaims can be performed in a different order and still achieve desirableresults, unless expressly noted otherwise. As one example, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In some implementations, multitasking and parallel processingmay be advantageous.

The discussion above is directed to certain specific implementations. Itis to be understood that the discussion above is only for the purpose ofenabling a person with ordinary skill in the art to make and use anysubject matter defined now or later by the patent “claims” found in anyissued patent herein.

It is specifically intended that the claimed invention not be limited tothe implementations and illustrations contained herein, but includemodified forms of those implementations including portions of theimplementations and combinations of elements of differentimplementations as come within the scope of the following claims. Itshould be appreciated that in the development of any such actualimplementation, as in any engineering or design project, numerousimplementation-specific decisions may be made to achieve the developers'specific goals, such as compliance with system-related and businessrelated constraints, which may vary from one implementation to another.Moreover, it should be appreciated that such a development effort mightbe complex and time consuming, but would nevertheless be a routineundertaking of design, fabrication, and manufacture for those ofordinary skill having the benefit of this disclosure. Nothing in thisapplication is considered critical or essential to the claimed inventionunless explicitly indicated as being “critical” or “essential.”

In the above detailed description, numerous specific details were setforth in order to provide a thorough understanding of the presentdisclosure. However, it will be apparent to one of ordinary skill in theart that the present disclosure may be practiced without these specificdetails. In other instances, well-known methods, procedures, components,circuits and networks have not been described in detail so as not tounnecessarily obscure aspects of the embodiments.

It will also be understood that, although the terms first, second, etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first object or step could betermed a second object or step, and, similarly, a second object or stepcould be termed a first object or step, without departing from the scopeof the invention. The first object or step, and the second object orstep, are both objects or steps, respectively, but they are not to beconsidered the same object or step.

The terminology used in the description of the present disclosure hereinis for the purpose of describing particular implementations only and isnot intended to be limiting of the present disclosure. As used in thedescription of the present disclosure and the appended claims, thesingular forms “a,” “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“includes,” “including,” “comprises” and/or “comprising,” when used inthis specification, specify the presence of stated features, integers,steps, operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context. As used herein, theterms “up” and “down”; “upper” and “lower”; “upwardly” and downwardly”;“below” and “above”; and other similar terms indicating relativepositions above or below a given point or element may be used inconnection with some implementations of various technologies describedherein.

While the foregoing is directed to implementations of various techniquesdescribed herein, other and further implementations may be devisedwithout departing from the basic scope thereof, which may be determinedby the claims that follow. Although the subject matter has beendescribed in language specific to structural features and/ormethodological acts, it is to be understood that the subject matterdefined in the appended claims is not necessarily limited to thespecific features or acts described above. Rather, the specific featuresand acts described above are disclosed as example forms of implementingthe claims.

What is claimed is:
 1. A method of providing over the top streaming forone or more clients of a network, comprising: forming the network amongcustomer premises equipment, the customer premises equipment includingat least a gateway and the one or more clients; receiving a userselection for over the top (OTT) content; receiving, by the one or moreclients, the OTT content, from an OTT server, the OTT content includingone or more proxy cue points; interpreting, by the one or more clients,the one or more proxy cue points as a command to use the gateway as aproxy; marking, by the one or more clients, the gateway as an HTTP proxyserver in response to receiving the one or more proxy cue points; onlywhile the gateway is marked as the HTTP proxy server, passing, by theone or more clients HTTP requests for the OTT content through thegateway enabling the gateway to respond by sending proxy datacorresponding to the one or more proxy cue points; receiving, by the oneor more clients, the proxy data from the gateway as responses to theHTTP requests; and upon the OTT server removing the one or more proxycue points from the OTT content, removing, by the one or more clients,the marking of the gateway as the HTTP proxy server.
 2. The method ofclaim 1, wherein when the one or more proxy cue points include indexdata, the index data is appended to a proxy server uniform resourcelocator as a variable.
 3. The method of claim 2, wherein the index dataprovides an indication to include a proxy server script.
 4. The methodof claim 2, wherein the index data provides an indication to use adifferent proxy port.
 5. The method of claim 1, wherein the one or moreproxy cue points are inserted in the OTT content as metadata.
 6. Themethod of claim 5, wherein the metadata is delivered as out of banddata.
 7. The method of claim 5, wherein the metadata is delivered asInternet Protocol data.
 8. The method of claim 1, wherein the one ormore proxy cue points are inserted as a different packet identifier(PID).
 9. The method of claim 8, wherein the different PID includesatrigger.
 10. The method of claim 8, wherein the different PID includesindex data.
 11. The method of claim 1, wherein the one or more proxy cuepoints are inserted at one or more predetermined times.
 12. The methodof claim 11, wherein the one or more predetermined times comprisecommercial breaks.
 13. The method of claim 11, wherein the one or morepredetermined times comprise promotional opportunities.
 14. The methodof claim 11, wherein the one or more predetermined times comprise when acredit goes above or below a threshold.
 15. The method of claim 11,wherein the one or more predetermined times comprise a subscriptiontransition time.
 16. The method of claim 1, wherein the proxy datacomprises pre-installed content.
 17. The method of claim 1, wherein theproxy data comprises translated content.
 18. The method of claim 1,wherein the proxy data comprises an alert.
 19. A device, comprising: aset top box configured to: form a network among customer premisesequipment, the customer premises equipment including at least a gatewayand the set top box; receive a user selection for OTT content; receiveOTT content from an OTT server, the OTT content including one or moreproxy cue points; interpret the one or more proxy cue points as acommand to use the gateway as a proxy; mark the gateway as an HTTP proxyserver in response to receiving the one or more proxy cue points; onlywhile the gateway is marked as the HTTP proxy server, pass HTTP requestsfor the OTT content through the gateway enabling the gateway to respondby sending proxy data corresponding to the one or more proxy cue points;receive the proxy data from the gateway as responses to the HTTPrequests; and upon the OTT server removing the one or more proxy cuepoints from the OTT content, remove the marking of the gateway as theHTTP proxy server.
 20. A non-transitory computer-readable medium havingstored thereon a plurality of computer-executable instructions which,when executed by a computer, cause the computer to: form a network amongcustomer premises equipment, the customer premises equipment includingat least a gateway and one or more clients; receive a user selection forOTT content; receive OTT content from an OTT server, the OTT contentincluding one or more proxy cue points; interpret the one or more proxycue points as a command to use the gateway as a proxy; mark the gatewayas an HTTP proxy server in response to receiving the one or more proxycue points; only while the gateway is marked as the HTTP proxy server,pass HTTP requests for the OTT content through the gateway enabling thegateway to respond by sending proxy data corresponding to the one ormore proxy cue points; receive the proxy data from the gateway asresponses to the HTTP requests; and upon the OTT server removing the oneor more proxy cue points from the OTT content, remove the marking of thegateway as the HTTP proxy server.